/*
 * author      : 吴中勤 
 * date        : 2018/8/16
 * description : 会员信息
 */

package com.deepexi.adapter.facade.moby.request;

import com.deepexi.adapter.common.BaseDto;
import com.deepexi.adapter.facade.moby.MobyConst;
import com.google.gson.annotations.SerializedName;

public class MobyPayInfo extends BaseDto {

    /** 订单号id */
    private String tradeOrderId;

    /** 1=订金, 2=定金, 3=尾款(分期首付), 4=银行收款, 5=全部尾款 */
    private String fundType;

    /** 1=银联，2=支付宝，3=微信，4=... */
    private String payChannel;

    /** 支付单号 */
    @SerializedName("id")
    private String payOrderNo;

    /** 2018-08-01 10:01:01 */
    private String paidAt;

    /** 支付金额 */
    private String payMoney;

    /** 操作人id */
    @SerializedName("updatedBy")
    private String operatorId;

    /** 支付状态 */
    private String payStatus;

    /** 支付银行 */
    private String bankNo;

    /** 状态是否已支付 */
    public boolean isPaid() {
        return MobyConst.PAY_ORDER_STATUS_PAID.equals(payStatus);
    }

    /** 是否是尾款 */
    public boolean isFinalPayment() {
        return MobyConst.FUND_TYPE_FINAL_PAYMENT.equals(fundType);
    }
    // ============= setter & getter =============

    public void setBankNo(String bankNo) {
        this.bankNo = bankNo;
    }

    public String getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(String payStatus) {
        this.payStatus = payStatus;
    }

    public String getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }

    public String getTradeOrderId() {
        return tradeOrderId;
    }

    public void setTradeOrderId(String tradeOrderId) {
        this.tradeOrderId = tradeOrderId;
    }

    public String getFundType() {
        return fundType;
    }

    public void setFundType(String fundType) {
        this.fundType = fundType;
    }

    public String getPayChannel() {
        return payChannel;
    }

    public void setPayChannel(String payChannel) {
        this.payChannel = payChannel;
    }

    public String getPayOrderNo() {
        return payOrderNo;
    }

    public void setPayOrderNo(String payOrderNo) {
        this.payOrderNo = payOrderNo;
    }

    public String getPaidAt() {
        return paidAt;
    }

    public void setPaidAt(String paidAt) {
        this.paidAt = paidAt;
    }

    public String getPayMoney() {
        return payMoney;
    }

    public void setPayMoney(String payMoney) {
        this.payMoney = payMoney;
    }

    public String getBankNo() {
        return bankNo;
    }
}
